.TH "TCFTEST" 1 "2012-08-18" "Man Page" "Tokyo Cabinet"

.SH NAME
tcftest \- test cases of the fixed-length database API

.SH DESCRIPTION
.PP
The command `\fBtcftest\fR' is a utility for facility test and performance test.  This command is used in the following format.  `\fIpath\fR' specifies the path of a database file.  `\fIrnum\fR' specifies the number of iterations.  `\fIwidth\fR' specifies the width of the value of each record.  `\fIlimsiz\fR' specifies the limit size of the database file.
.PP
.RS
.br
\fBtcftest write \fR[\fB\-mt\fR]\fB \fR[\fB\-nl\fR|\fB\-nb\fR]\fB \fR[\fB\-rnd\fR]\fB \fIpath\fB \fIrnum\fB \fR[\fB\fIwidth\fB \fR[\fB\fIlimsiz\fB\fR]\fB\fR]\fB\fR
.RS
Store records with keys of 8 bytes.  They change as `00000001', `00000002'...
.RE
.br
\fBtcftest read \fR[\fB\-mt\fR]\fB \fR[\fB\-nl\fR|\fB\-nb\fR]\fB \fR[\fB\-wb\fR]\fB \fR[\fB\-rnd\fR]\fB \fIpath\fB\fR
.RS
Retrieve all records of the database above.
.RE
.br
\fBtcftest remove \fR[\fB\-mt\fR]\fB \fR[\fB\-nl\fR|\fB\-nb\fR]\fB \fR[\fB\-rnd\fR]\fB \fIpath\fB\fR
.RS
Remove all records of the database above.
.RE
.br
\fBtcftest rcat \fR[\fB\-mt\fR]\fB \fR[\fB\-nl\fR|\fB\-nb\fR]\fB \fR[\fB\-pn \fInum\fB\fR]\fB \fR[\fB\-dai\fR|\fB\-dad\fR|\fB\-rl\fR]\fB \fIpath\fB \fIrnum\fB \fR[\fB\fIlimsiz\fB\fR]\fB\fR]\fB\fR
.RS
Store records with partway duplicated keys using concatenate mode.
.RE
.br
\fBtcftest misc \fR[\fB\-mt\fR]\fB \fR[\fB\-nl\fR|\fB\-nb\fR]\fB \fIpath\fB \fIrnum\fB\fR
.RS
Perform miscellaneous test of various operations.
.RE
.br
\fBtcftest wicked \fR[\fB\-mt\fR]\fB \fR[\fB\-nl\fR|\fB\-nb\fR]\fB \fIpath\fB \fIrnum\fB\fR
.RS
Perform updating operations selected at random.
.RE
.RE
.PP
Options feature the following.
.PP
.RS
\fB\-mt\fR : call the function `tcfdbsetmutex'.
.br
\fB\-nl\fR : enable the option `FDBNOLCK'.
.br
\fB\-nb\fR : enable the option `FDBLCKNB'.
.br
\fB\-rnd\fR : select keys at random.
.br
\fB\-wb\fR : use the function `tcfdbget4' instead of `tcfdbget2'.
.br
\fB\-pn \fInum\fR\fR : specify the number of patterns.
.br
\fB\-dai\fR : use the function `tcfdbaddint' instead of `tcfdbputcat'.
.br
\fB\-dad\fR : use the function `tcfdbadddouble' instead of `tcfdbputcat'.
.br
\fB\-rl\fR : set the length of values at random.
.br
.RE
.PP
This command returns 0 on success, another on failure.

.SH SEE ALSO
.PP
.BR tcfmttest (1),
.BR tcfmgr (1),
.BR tcfdb (3),
.BR tokyocabinet (3)
